#!/usr/bin/env python
# -*- coding: utf-8 -*-

"""
将多个SQL文件导入到数据库
"""

import sqlite3
import os

# 获取当前脚本所在目录
current_dir = os.path.dirname(os.path.abspath(__file__))
# 数据库文件路径
DB_FILE = os.path.join(current_dir, 'xhs_database.db')
# 要导入的SQL文件列表
SQL_FILES = ['notes.sql', 'comments.sql', 'main.sql']

def import_sql_files():
    """将SQL文件导入到数据库"""
    print(f"使用数据库: {DB_FILE}")
    
    # 连接数据库
    conn = sqlite3.connect(DB_FILE)
    cursor = conn.cursor()
    
    # 依次导入每个SQL文件
    for sql_file in SQL_FILES:
        if not os.path.exists(sql_file):
            print(f"SQL文件 '{sql_file}' 不存在，跳过")
            continue
        
        print(f"正在导入 '{sql_file}'...")
        
        # 读取SQL文件内容
        with open(sql_file, 'r', encoding='utf-8') as f:
            sql_content = f.read()
        
        # 分割SQL语句
        sql_statements = sql_content.split(';')
        
        # 执行SQL语句
        for statement in sql_statements:
            statement = statement.strip()
            if statement:
                try:
                    cursor.execute(statement)
                    conn.commit()
                except sqlite3.Error as e:
                    print(f"  SQL错误: {e}")
                    print(f"  问题语句: {statement[:100]}...")
        
        print(f"  '{sql_file}' 导入完成")
    
    # 提交更改并关闭连接
    conn.commit()
    conn.close()
    
    print("\n所有SQL文件导入完成!")

if __name__ == "__main__":
    import_sql_files() 